package cz.cuni.mff.ufal.volk;

import java.util.ArrayList;
import java.util.List;

/**
 * Parameters for a {@link NabaztagController}.
 * 
 * @author Bartłomiej Etenkowski
 */
public class NabaztagControllerParameters {
  
  private String localDirectory;
  private String tempDirectory;
  private String httpAddress;
  private int httpPort;
  private List<String> rmiNames;
  private String bootCodePath;
  
  /**
   * Returns the local directory path.
   * @return the local directory path
   */
  public String getLocalDirectory() {
    return localDirectory;
  }
    
  /**
   * Sets the local directory path.
   * @param  localDirectory the local directory path to set
   */
  public void setLocalDirectory(String localDirectory) {
    this.localDirectory = localDirectory;
  }
  
  /**
   * Returns the path to the temp directory.
   * @return the path to the temp directory
   */
  public String getTempDirectory() {
    return tempDirectory;
  }
  
  /**
   * Sets the path to the temp directory.
   * @param  tempDirectory the path to the temp directory to set
   */
  public void setTempDirectory(String tempDirectory) {
    this.tempDirectory = tempDirectory;
  }
  
  /**
   * Returns the port used by the HTTP server.
   * @return the port used by the HTTP server.
   */
  public int getHttpPort() {
    return httpPort;
  }
  
  /**
   * Sets the port used by the HTTP server.
   * @param  httpPort the port used by the HTTP server
   */
  public void setHttpPort(int httpPort) {
    this.httpPort = httpPort;
  }
  
  /**
   * @return the rmiNames
   */
  public List<String> getRmiNames() {
    if (rmiNames == null) {
      rmiNames = new ArrayList<String>();      
    }
    return rmiNames;
  }
  
  public void setRmiNames(List<String> rmiNames) {
    rmiNames.getClass();
    this.rmiNames = rmiNames;
  }
  
  /**
   * @param  httpAddress the httpAddress to set
   */
  public void setHttpAddress(String httpAddress) {
    this.httpAddress = httpAddress;
  }
  
  /**
   * @return the httpAddress
   */
  public String getHttpAddress() {
    return httpAddress;
  }
  
  /**
   * @param  bootCodePath the bootCodePath to set
   */
  public void setBootCodePath(String bootCodePath) {
    this.bootCodePath = bootCodePath;
  }
  
  /**
   * @return the bootCodePath
   */
  public String getBootCodePath() {
    return bootCodePath;
  }
  
}
